Modern computer networks often comprise numerous component types in large numbers. It is not uncommon for an organization to employ thousands of network-connected devices and their related components, including by way of non-limiting example, workstations, servers, tablets, and smart devices in both physical and virtual form. Network connected devices typically comprise one or more physical sub-components, such as data storage devices, network interfaces, cooling fans, power supplies. Network connected devices also typically comprise one or more virtualized hardware, software or other functional instances, such as iSCSI devices and the like. Software components comprise, for example and without limitation, operating systems, applications, database systems, web servers and web-based applications, security monitors, etc. that are separately configured and maintained and that may be installed or used in conjunction with one or more other components. Software components are typically built with and rely upon sub-components as well, such as dynamically loaded libraries, plug-in modules, and configuration registries. Relationship rules are used by some existing systems; however, such relationship rules are often built into the system and changes require re-programming in a way that is typically beyond the capabilities of most system operators.
Past work in managing such complex networks for enterprises has been done in the past. See for example, US20100094981 (“Dynamically Deployable Self Configuring Distributed Network Management System”), US20080228908 (“Management techniques for non-traditional network and information system topologies”), and US 20060092861 (“Self configuring network management system”), incorporated herein by reference. But as networks become increasingly complex, further improvements, techniques and approaches are possible and desirable.